!~~[有一个九位数,它由1到9这9个数组成,每个数字刚好出现一次.这个九位数前N位能被N整除]
来源:百度知道 编辑:UC知道 时间:2024/05/07 08:43:45
求个算法 用C 或 C++ 语言 编的
他们的都过于复杂,,,我有简单办法,,你可以找我聊,,,
因为是九位数,没有重复数字,前N位能被N整除
所以偶数位上一定是偶数,奇数位上一定是奇数
5 一定是在第五位上
简单循环遍历
#include <stdio.h>
int main(void)
{
long i[9];
long j, n;
i[4] = 5;
for (i[0] = 1; i[0] < 10; i[0] += 2)
{
for (i[1] = 2; i[1] < 9; i[1] += 2)
{
for (i[2] = 1; i[2] < 10; i[2] += 2)
{
if (i[2] == i[0])
continue;
for (i[3] = 2; i[3] < 9; i[3] += 2)
{
if (i[3] == i[1])
continue;
for (i[5] = 2; i[5] < 9; i[5] += 2)
{
if (i[5] == i[3] || i[5] == i[1])
continue;
for (i[6] = 1; i[6] < 10; i[6] += 2)
{
if (i[6] == i[4] || i[6] == i[2] || i[6] == i[0])
continue;
for (i[7] = 2; i[7] < 9; i[7] += 2)
{
if (i[7] == i[5] || i[7] == i[3] || i[7] == i[1])
continue;
for (i[8] = 1; i[8] < 10; i[8] += 2)
{
if (